Eingabe in Listen
In den Zeiten von TableControls und ALV-Grids sind Listen vielleicht nicht mehr ganz aktuell, aber manche kleinen Programme sind schnell als Liste programmiert. Auch Eingaben in Listen sind möglich, wie das folgende Programm zeigt.
|
In einer Liste mit Einträgen zum Ankreuzen möchte man vielleicht dem Anwender die Möglichkeit geben, alle Einträge zu markieren, bzw. alle Markierungen wieder zu entfernen.
Das Auslesen der markierten Punkte muss dann noch mittels READ LINE erfolgen: Eingabe in Listen
Das Programm
REPORT zzenno14 .
DATA:
linex TYPE syindex,
sel TYPE c,
bezei TYPE sptxt.
START-OF-SELECTION.
*** GUI-Status setzen
*** SALL = Alle Markierungen setzen
*** DALL = Alle Markierungen löschen
SET PF-STATUS ‘LIST’.
*** Daten lesen
SELECT sptxt FROM t002t INTO bezei WHERE spras = sy-langu.
*** …und ausgeben
WRITE: / sel AS CHECKBOX INPUT ON,
bezei.
ENDSELECT.
AT USER-COMMAND.
CASE sy-ucomm.
*** Abfrage
WHEN ‘SALL’ OR ‘DALL’.
DO.
linex = sy-index.
*** Zeile lesen
READ LINE linex FIELD VALUE sel bezei.
IF sy-subrc > 0. EXIT. ENDIF.
CASE sy-ucomm.
WHEN ‘SALL’.
*** Marker setzen
MODIFY LINE linex FIELD VALUE sel FROM ‘X’.
WHEN ‘DALL’.
*** Marker löschen
MODIFY LINE linex FIELD VALUE sel FROM ‘ ‘.
ENDCASE.
ENDDO.
ENDCASE.
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024